1. Field of the Invention
The invention pertains generally to computer networks. In particular, it pertains to the management of computer network services.
2. Description of the Related Art
Internet service providers (ISPs) offer network functionality to users in the form of storage, processing power, network connections, and various services such as electronic mail (email), file transport protocol (FTP), web server (HTTP), and others. Each domain, identified with a domain name, is generally associated with a particular client. The ISP services are predefined to be associated with ‘sockets’, such as socket 21 for FTP and socket 25 for email. Up to 65,536 sockets are permitted by the addressing convention, with most of these still being available for new user-defined services as requests to provide those services are received. A conventional ISP may divide the overall workload among different computers by using a single computer to host only one type of service. For example, email service for all domains will be hosted on a first computer (or a first group of computers if the email workload is great enough), while FTP service for all domains will be hosted on a second computer or group of computers. (A multi-processor computer might be viewed as a single computer for this purpose.) Each computer only has one instance of a particular socket number in operation at one time. Thus if domain xxx.com has a bind to socket 21, no other domain on that computer can bind to socket 21 until domain xxx.com has released it.
This approach to domain management has several disadvantages: 1) Since only one domain is bound to a given socket in the same computer at one time, this can create a bottleneck in network access to the associated service. 2) If the ISP manager wants to move a given user to other machines to balance the current traffic load, or to upgrade the user to higher capacity resources, each service for that user must be moved individually. 3) If a user's code crashes the computer, that service becomes unavailable to all users of that service on that computer. 4) Maintaining operational statistics and integrated billing information for each user is difficult, since the user's operations are spread over multiple computers.